home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1994-08-02 | 33.8 KB | 932 lines |
- This is Info file ../info/emacs, produced by Makeinfo-1.54 from the
- input file emacs.texi.
-
- File: emacs, Node: Ordinary Arguments, Next: Initial Options, Up: Command Arguments
-
- Ordinary Arguments
- ==================
-
- Here is a table of the ordinary arguments and options:
-
- `FILE'
- Visit FILE using `find-file'. *Note Visiting::.
-
- `+LINENUM FILE'
- Visit FILE using `find-file', then go to line number LINENUM in it.
-
- `-l FILE'
- `-load FILE'
- Load a file FILE of Lisp code with the function `load'. *Note
- Lisp Libraries::.
-
- `-f FUNCTION'
- `-funcall FUNCTION'
- Call Lisp function FUNCTION with no arguments.
-
- `-insert FILE'
- Insert the contents of FILE into the current buffer. This is like
- what `M-x insert-buffer' does; *Note Misc File Ops::.
-
- `-kill'
- Exit from Emacs without asking for confirmation.
-
- File: emacs, Node: Initial Options, Next: Command Example, Prev: Ordinary Arguments, Up: Command Arguments
-
- Initial Options
- ===============
-
- The initial options are recognized only at the beginning of the
- command line. If you use more than one of them, they must appear in the
- order that they appear in this table.
-
- `-t DEVICE'
- Use DEVICE as the device for terminal input and output.
-
- `-d DISPLAY'
- When running with the X Window System, use the display named
- DISPLAY to make the window that serves as Emacs's terminal.
-
- `-nw'
- Don't communicate directly with X, disregarding the `DISPLAY'
- environment variable even if it is set. `-nw' stands for
- "non-window."
-
- `-batch'
- Run Emacs in "batch mode", which means that the text being edited
- is not displayed and the standard Unix interrupt characters such
- as `C-z' and `C-c' continue to have their normal effect. Emacs in
- batch mode outputs to `stdout' only what would normally be printed
- in the echo area under program control.
-
- Batch mode is used for running programs written in Emacs Lisp from
- shell scripts, makefiles, and so on. Normally the `-l' option or
- `-f' option will be used as well, to invoke a Lisp program to do
- the batch processing.
-
- `-batch' implies `-q' (do not load an init file). It also causes
- Emacs to kill itself after all command options have been
- processed. In addition, auto-saving is not done except in buffers
- for which it has been explicitly requested.
-
- `-q'
- `-no-init-file'
- Do not load your Emacs init file `~/.emacs'.
-
- `-u USER'
- `-user USER'
- Load USER's Emacs init file `~USER/.emacs' instead of your own.
-
- The init file can get access to the values of the command line
- arguments as the elements of a list in the variable
- `command-line-args'. (The list contains only the arguments from the
- first table above. Emacs processes the arguments from the second table
- before building the list.) The init file can override the normal
- processing of the other arguments by setting this variable.
-
- File: emacs, Node: Command Example, Next: Resume Arguments, Prev: Initial Options, Up: Command Arguments
-
- Command Argument Example
- ========================
-
- Here is an example of using Emacs with arguments and options. It
- assumes you have a Lisp program file called `hack-c.el' which, when
- loaded, performs some useful operation on current buffer, expected to be
- a C program.
-
- emacs -batch foo.c -l hack-c -f save-buffer -kill > log
-
- This says to visit `foo.c', load `hack-c.el' (which makes changes in
- the visited file), save `foo.c' (note that `save-buffer' is the
- function that `C-x C-s' is bound to), and then exit to the shell that
- this command was done with. The initial option `-batch' guarantees
- there will be no problem redirecting output to `log', because Emacs
- will not assume that it has a display terminal to work with.
-
- File: emacs, Node: Resume Arguments, Next: Display X, Prev: Command Example, Up: Command Arguments
-
- Resuming Emacs with Arguments
- =============================
-
- You can specify ordinary arguments for Emacs when you resume it after
- a suspension. To prepare for this, put the following code in your
- `.emacs' file (*note Hooks::.):
-
- (add-hook 'suspend-hook 'resume-suspend-hook)
-
- As further preparation, you must execute the shell script
- `emacs.csh' (if you use CSH as your shell) or `emacs.bash' (if you use
- BASH as your shell). These scripts define an alias named `edit', which
- will resume Emacs giving it new command line arguments such as files to
- visit.
-
- Only ordinary arguments work properly when you resume Emacs. Initial
- arguments are not recognized. It's too late to execute them anyway.
-
- Note that resuming Emacs (with or without arguments) must be done
- from within the shell that is the parent of the Emacs job. This is why
- `edit' is an alias rather than a program or a shell script. It is not
- possible to implement a resumption command that could be run from other
- subjobs of the shell; no way to define a command that could be made the
- value of `EDITOR', for example. Therefore, this feature does not take
- the place of the the Emacs Server feature. *Note Emacs Server::.
-
- The aliases use the Emacs Server feature if you appear to have a
- server Emacs running. However, they cannot determine this with complete
- accuracy. They may think that a server is still running when in
- actuality you have killed that Emacs, because the file `/tmp/.esrv...'
- still exists. If this happens, find that file and delete it.
-
- File: emacs, Node: Display X, Next: Font X, Prev: Resume Arguments, Up: Command Arguments
-
- Specifying the Display Name
- ===========================
-
- The environment variable `DISPLAY' tells all X clients where to
- display their windows. Its value is set up by default in ordinary
- circumstances, when you start an X server and run jobs locally.
- Occasionally you may need to specify the display yourself; for example,
- if you do a remote login and want to run a client program remotely,
- displaying on your local screen.
-
- With Emacs, the main reason people change the default display is to
- let them log into another system, run Emacs on that system, but have the
- window displayed at their local terminal. You might need to use login
- to another system because the files you want to edit are there, or
- because the Emacs executable file you want to run is there.
-
- The syntax of the `DISPLAY' environment variable is:
-
- HOST:DISPLAY.SCREEN
-
- where HOST is the host name of the X Window System server machine,
- DISPLAY is an arbitrarily-assigned number that distinguishes your
- server (X terminal) from other servers on the same machine, and SCREEN
- is a rarely-used field that allows an X server to control multiple
- terminal screens. The period and the SCREEN field are optional. If
- included, SCREEN is usually zero.
-
- If your host is named `glasperle' and your server is the first (or
- perhaps the only) server listed in the configuration, your `DISPLAY' is
- `glasperle:0.0'.
-
- You can specify the display name explicitly when you run Emacs,
- either by changing the `DISPLAY' variable, or with the option `-d
- DISPLAY' or `-display DISPLAY'. These are initial options; they must
- come at the beginning of the command line. *Note Initial Options::.
- Here is an example:
-
- emacs -display glasperle:0 &
-
- You can inhibit the direct use of X with the `-nw' option. This is
- also an initial option. This option tells Emacs to display using
- ordinary ASCII on its controlling terminal.
-
- Sometimes, security arrangements prevent a program on a remote system
- from displaying on your local system. In this case, trying to run Emacs
- produces messages like:
-
- Xlib: connection to "glasperle:0.0" refused by server
-
- You might be able to overcome this problem by using the `xhost'
- command on the local system to give permission for access from your
- remote machine.
-
- File: emacs, Node: Font X, Next: Colors X, Prev: Display X, Up: Command Arguments
-
- Font Specification Options
- ==========================
-
- By default, Emacs displays text in the font named `9x15', which
- makes each character nine pixels wide and fifteen pixels high. You can
- specify a different font on your command line through the option `-fn
- NAME'. The `-font' option is a synonym for `-fn'.
-
- Here is how to specify the font `6x13':
-
- emacs -fn 6x13 &
-
- You can also do this in your `.Xdefaults' file:
-
- emacs.font: 6x13
-
- Use only fixed width fonts--that is, fonts in which all characters
- have the same width. Emacs cannot yet handle display properly for
- variable width fonts. Fixed width fonts include the one named `fixed',
- and fonts with names in the form NxN, such as `6x13', `8x13', and
- `9x15'. Under the font-naming conventions in X11 Release 4 or later,
- any font with `m' or `c' in the eleventh field of the name is a fixed
- width font.
-
- Here's how to use the `xlsfonts' program to list all the fixed width
- fonts available on your system:
-
- xlsfonts -fn '*x*'
- xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
- xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
-
- To see what a particular font looks like, use the `xfd' command. For
- example:
-
- xfd -fn 6x13
-
- displays the entire font `6x13'.
-
- While running Emacs, you can set the font of the current frame
- (*note Frame Parameters::.) or for a specific kind of text (*note
- Faces::.).
-
- File: emacs, Node: Colors X, Next: Window Size X, Prev: Font X, Up: Command Arguments
-
- Window Color Options
- ====================
-
- On a color display, you can specify which color to use for various
- parts of the Emacs display. To find out what colors are available on
- your system, look at the `/usr/lib/X11/rgb.txt' file. If you do not
- specify colors, the default for the background is white and the default
- for all other colors is black.
-
- On a monochrome (black and white) display, the foreground is black,
- the background is white, and the border is grey. You can reverse the
- foreground and background colors through the `-r' option or the
- `reverseVideo' resource.
-
- Here is a list of the options for specifying colors:
-
- `-fg COLOR'
- Specify the foreground color.
-
- `-bg COLOR'
- Specify the background color.
-
- `-bd COLOR'
- Specify the color of the border of the X window.
-
- `-cr COLOR'
- Specify the color of the Emacs cursor which indicates where point
- is.
-
- `-ms COLOR'
- Specify the color for the mouse cursor when the mouse is in the
- Emacs window.
-
- For example, to use a coral mouse cursor and a slate blue text
- cursor, enter:
-
- emacs -ms coral -cr 'slate blue' &
-
- File: emacs, Node: Window Size X, Next: Borders X, Prev: Colors X, Up: Command Arguments
-
- Options for Window Geometry
- ===========================
-
- The `-geometry' option controls the size and position of the initial
- Emacs frame. Here is the format for specifying the window geometry:
-
- WIDTHxHEIGHT{+-}XOFFSET{+-}YOFFSET
-
- where WIDTH specifies the number of characters displayed on a line,
- HEIGHT specifies the number of lines displayed, a positive XOFFSET
- specifies the distance from the left side of the screen, a negative
- XOFFSET specifies the distance from the right side of the screen, a
- positive YOFFSET specifies the distance from the top of the screen, and
- a negative YOFFSET specifies the distance from the bottom of the screen.
-
- Emacs uses the same units as `xterm' does to interpret the geometry.
- The WIDTH and HEIGHT are measured in characters, so a large font
- creates a larger frame than a small font. The XOFFSET and YOFFSET are
- measured in pixels.
-
- Since the mode line and the echo area occupy the last 2 lines of the
- frame, the height of the initial text window is 2 less than the height
- specified in your geometry.
-
- You do not have to specify all of the fields in the geometry
- specification. The default width for Emacs is 80 characters and the
- default height is 24 characters. You can omit either the width or the
- height or both.
-
- If you omit both XOFFSET nor YOFFSET, the window manager decides
- where to put the Emacs frame, possibly by letting you place it with the
- mouse. For example, `164x55' specifies a window 164 columns wide,
- enough for two ordinary width windows side by side, and 55 lines tall.
-
- If you start the geometry with an integer, Emacs interprets it as the
- width. If you start with an `x' followed by an integer, Emacs
- interprets it as the height. Thus, `81' specifies just the width;
- `x45' specifies just the height.
-
- If you start with `+' or `-', that introduces an offset, which means
- both sizes are omitted. Thus, `-3' specifies the XOFFSET only. (If
- you give just one offset, it is always XOFFSET.) `+3-3' specifies both
- the XOFFSET and the YOFFSET, placing the frame near the bottom left of
- the screen.
-
- You can specify a default for any or all of the fields in
- `.Xdefaults' file, and then override selected fields through a
- `-geometry' option.
-
- File: emacs, Node: Borders X, Next: Icons X, Prev: Window Size X, Up: Command Arguments
-
- Internal and External Borders
- =============================
-
- An Emacs frame has an internal border and an external border. The
- internal border is an extra strip of the background color around all
- four edges of the frame. Emacs itself adds the internal border. The
- external border is added by the window manager outside the internal
- border; it may contain various boxes you can click on to move or iconify
- the window.
-
- When you specify the size of the frame, that does not count the
- borders. The frame's position is measured from the outside edge of the
- external border.
-
- Use the `-ib N' option to specify an internal border N pixels wide.
- The default is 1. Use `-bw N' to specify the width of the external
- border (though the window manager may not pay attention to what you
- specify). The default width of the external border is 2.
-
- File: emacs, Node: Icons X, Next: Resources X, Prev: Borders X, Up: Command Arguments
-
- Icons
- =====
-
- Most window managers allow the user to "iconify" a frame, removing
- it from sight, and leaving a small, distinctive "icon" window in its
- place. Clicking on the icon window will make the original frame visible
- again. If a user has many clients running at once, they can avoid
- cluttering up their screen by iconifying all but the clients currently
- in use.
-
- The `-i' and `-itype' option tells Emacs to use an icon window
- containing a picture of the GNU gnu. If omitted, Emacs lets the window
- manager choose what sort of icon to use -- usually just a small
- rectangle containing the frame's title.
-
- The `-iconic' option tells Emacs to begin running as an icon, rather
- than opening a frame right away. In this situation, the icon window
- provides only indication that Emacs has started; the usual text frame
- doesn't appear until you de-iconify it.
-
- File: emacs, Node: Resources X, Prev: Icons X, Up: Command Arguments
-
- X Resources
- ===========
-
- Programs running under the X Window System organize their user
- options under a hierarchy of classes and resources. You can specify
- default values for these options in your X resources file, usually named
- `~/.Xdefaults'.
-
- Each line in the file specifies a value for one option or for a
- collection of related options, for one program or for several programs
- (perhaps even all programs).
-
- Programs define named resources with particular meanings. They also
- define how to group resources into named classes. For instance, in
- Emacs, the `internalBorder' resource controls the width of the internal
- border, and the `borderWidth' resource controls the width of the
- external border. Both of these resources are part of the `BorderWidth'
- class. Case distinctions are significant in these names.
-
- In `~/.Xdefaults', you can specify a value for a single resource on
- one line, like this:
-
- emacs.borderWidth: 2
-
- Or you can use a class name to specify the same value for all resources
- in that class. Here's an example:
-
- emacs.BorderWidth: 2
-
- If you specify a value for a class, it becomes the default for all
- resources in that class. You can specify values for individual
- resources as well; these override the class value, for those particular
- resources. Thus, this example specifies 2 as the default width for all
- borders, but overrides this value with 4 for the external border:
-
- emacs.Borderwidth: 2
- emacs.borderwidth: 4
-
- The order in which the lines appear in the file does not matter.
- Also, command-line options always override the X resources file.
-
- The string `emacs' in the examples above is also a resource name.
- It actually represents the name of the executable file that you invoke
- to run Emacs. If Emacs is installed under a different name, it look
- for resources under that name instead of `emacs'.
-
- You can tell Emacs to use a different name instead of the name of the
- executable file, with the option `-name NAME'. Then that Emacs job
- uses NAME instead of `Emacs' to look up all of its option values in the
- X resource file. This option also specifies the title for the initial
- frame.
-
- The resources that name Emacs invocations also belong to a class; its
- name is `Emacs'. To specify options for all Emacs jobs, no matter what
- name is used to run them, write `Emacs' instead of `emacs', like this:
-
- Emacs.BorderWidth: 2
- Emacs.borderWidth: 4
-
- You can specify a string of additional resource values for Emacs to
- use with the command line option `-xrm DATA'. The text DATA should
- have the same format that you would use inside a file of X resources.
- Resources specified this way take precedence over all others.
-
- The following table lists the resource names that designate options
- for Emacs, each with the class that it belongs to:
-
- `background' (class `Background')
- Background color name.
-
- `bitmapIcon' (class `BitmapIcon')
- Use a bitmap icon (a picture of a GNU) if `on', let the window
- manager choose an icon if `off'.
-
- `borderColor' (class `BorderColor')
- Color name for external border.
-
- `borderWidth' (class `BorderWidth')
- Width in pixels of external border.
-
- `cursorColor' (class `Foreground')
- Color name for text cursor (point).
-
- `font' (class `Font')
- Font name for text.
-
- `foreground' (class `Foreground')
- Color name for text.
-
- `geometry' (class `Geometry')
- Window size and position.
-
- `iconName' (class `Title')
- Name to display in icon.
-
- `internalBorder' (class `BorderWidth')
- Width in pixels of internal border.
-
- `paneFont' (class `Font')
- Font name for menu pane titles.
-
- `pointerColor' (class `Foreground')
- Color of mouse cursor.
-
- `reverseVideo' (class `ReverseVideo')
- Switch foreground and background default colors if `on', use
- colors as specified if `off'.
-
- `selectionFont' (class `Font')
- Font name for menu items.
-
- `title' (class `Title')
- Name to display in title bar of initial Emacs frame.
-
- File: emacs, Node: Antinews, Next: Manifesto, Prev: Command Arguments, Up: Top
-
- Emacs 18 Antinews
- *****************
-
- For those users who live backwards in time, here is information about
- downgrading to Emacs version 18. We hope you will enjoy the greater
- simplicity that results from the absence of many Emacs 19 features.
-
- Packages Removed
- ================
-
- To reduce the size of the distribution, we have eliminated numerous
- packages including GNUS, VC (version control), Hexl (for editing binary
- files), Edebug, Emerge, Mpuz, Spook, and Gomoku.
-
- Major modes removed in Emacs 18 include C++ mode, Awk mode, Icon
- mode, Asm mode, Makefile mode, Perl mode and SGML mode.
-
- The function `enable-flow-control' does not exist; see the file
- `PROBLEMS' in the Emacs distribution for directions for coping with
- flow control.
-
- The Calendar feature provided is a very simple one. All it can do is
- display three months, by default centered around the current month. If
- you give it a numeric argument, that specifies the number of months
- forward or back.
-
- Fundamental Changes
- ===================
-
- Auto save and garbage collection happen only while you are typing,
- never while you are idle. This is to make them more like affectionate
- pets. Think of them as cats that like to sit on your terminal only
- when you are working there.
-
- Transient Mark mode and Line Number mode are absent in Emacs 18. If
- you are an Emacs user, you are smart enough to keep track of the mark
- in your head, and you don't need line numbers because you can search
- for precisely the text you want.
-
- There are no menu bars or scroll bars; no faces, text properties or
- overlays.
-
- There are no minibuffer history commands.
-
- There is only one frame, so the Emacs 19 `C-x 5' command series is
- meaningless. Instead, `C-x 5' in Emacs 18 splits the selected window
- horizontally (like `C-x 3' in Emacs 19).
-
- Another simplification in Emacs 18 is that all input events are
- characters. Function keys and arrow keys are represented as sequences
- of characters; the terminal-specific Emacs Lisp file for your terminal
- is responsible for defining them. Mouse buttons are defined by a
- special keymap, `mouse-map'. See the file `x-mouse.el' for how to bind
- mouse clicks.
-
- Character codes 128 and above always display using `\NNN' notation.
- For codes 0 through 31, you can choose between `\NNN' and `^C' by
- setting the variable `ctl-arrow'; but that is the only thing you can
- specify about how character codes should display.
-
- You can't refer to files on other machines using special "magic"
- file names. Instead, you must use the `ftp' library with commands such
- as `M-x ftp-find-file' and `M-x ftp-write-file'.
-
- The character for terminating an incremental search is now ESC, not
- RET as in Emacs 19. If you type RET, that searches for a newline;
- thus, you can insert a newline in the search string just as you would
- insert it in the text.
-
- Key Binding Changes
- ===================
-
- The key for `backward-paragraph' is now `M-['. The key for
- `forward-paragraph' is now `M-]'.
-
- The command `repeat-complex-command' is now on `C-x ESC'.
-
- The register commands have different key bindings:
-
- `C-x /'
- `point-to-register'
-
- `C-x j'
- `jump-to-register'
-
- `C-x x'
- `copy-to-register'
-
- `C-x g'
- `insert-register'
-
- `C-x r'
- `copy-rectangle-to-register'
-
- The narrowing commands have also been moved:
-
- `C-x n'
- `narrow-to-region'
-
- `C-x p'
- `narrow-to-page'
-
- `C-x w'
- `widen'
-
- And the abbrev commands as well:
-
- `C-x C-a'
- `add-mode-abbrev'
-
- `C-x +'
- `add-global-abbrev'
-
- `C-x C-h'
- `inverse-add-mode-abbrev'
-
- `C-x -'
- `inverse-add-global-abbrev'
-
- `C-x `'
- `expand-abbrev'
-
- There are no key bindings for the rectangle commands.
-
- `C-x a' now runs the command `append-to-buffer'.
-
- The key bindings `C-x 4 r' and `C-x 4 C-o' do not exist.
-
- The help commands `C-h C-f', `C-h C-k' and `C-h p' do not exist in
- Emacs 18.
-
- The command `C-M-l' (`reposition-window') is absent. Likewise
- `C-M-r' (`isearch-backward-regexp').
-
- The "two column" commands starting with `C-x 6' don't exist in Emacs
- 18.
-
- The TeX mode bindings of `C-c {' and `C-c }' have been moved to
- `M-{' and `M-}'. (These commands are `up-list' and
- `tex-insert-braces'; they are the TeX equivalents of `M-(' and `M-)'.)
-
- Incremental Search Changes
- ==========================
-
- As mentioned above, the character for terminating an incremental
- search is now ESC, not RET as in Emacs 19. If you type RET, that
- searches for a newline; thus, you can insert a newline in the search
- string just as you would insert it in the text.
-
- There is no ring of previous search strings in Emacs 18. You can
- reuse the most recent search string, but that's all.
-
- If `case-fold-search' is non-`nil', then incremental search is
- *always* case-insensitive. Typing an upper-case letter in the search
- string has no effect on this.
-
- Spaces in the incremental search string match only spaces.
-
- The meanings of the special search characters are no longer
- controlled by a keymap. Instead, particular variables named
- `search-...-char' specify the character that should have a particular
- function. For example, `C-s' repeats the search because the value of
- `search-repeat-char' is `?\C-s'.
-
- Editing Command Changes
- =======================
-
- `C-n' (`next-line') does not check the variable
- `next-line-add-newlines'.
-
- The sexp commands such as `C-M-f' no longer know anything about
- comments, in modes such as Lisp mode where the end of a comment is the
- end of the line. They treat the text inside a comment as if it were
- actual code. If comments containing unbalanced parentheses cause
- trouble, you can use the commands `C-M-n' and `C-M-p', which do ignore
- comments.
-
- You can't store file names in registers, and there are no frame
- configurations at all. The command `M-x string-rectangle' does not
- exist either.
-
- The undo command in Emacs 18 is not careful about where to leave
- point when you undo a deletion. It ends up at one end or the other of
- the text just undeleted. You must be on the lookout for this, and move
- point appropriately.
-
- Kill commands do nothing useful in read-only buffers. They just
- beep.
-
- `M-z C' in Emacs 18 kills up to but not including the first
- occurrence of C. If C does not occur in the buffer after point, `M-z'
- kills the whole rest of the buffer.
-
- The function `erase-buffer' is not a command in Emacs 18. You can
- call it from a Lisp program, but not interactively. The motivation for
- this is to protect you from accidentally deleting (not killing) the
- entire text of a buffer that you want to keep. With subsequent changes
- in even earlier Emacs versions (such as version 18.54), you might be
- unable to undo the `erase-buffer'.
-
- `M-x fill-nonuniform-paragraphs' and Adaptive Fill mode do not exist.
-
- Other Brief Notes
- =================
-
- Outline mode exists only as a major mode, not as a minor mode.
-
- `M-!' (`shell-command') always runs the command synchronously, even
- if the command ends with `&'.
-
- Emacs 18 has no special mode for change log files. It is a good idea
- to use Indented Text mode, and specify 8 as the value of the variable
- `left-margin'.
-
- The command `M-x comment-region' does not exist. The command `M-x
- super-apropos' does not exist.
-
- `C-x q' (`kbd-macro-query') now uses `C-d' to terminate all
- iterations of the keyboard macro, rather than ESC.
-
- The `M-x setenv' command is missing in Emacs 18.
-
- `M-$' now uses the Unix spell program instead of the GNU program
- Ispell. If the word around point is a misspelling, it asks you for a
- replacement.
-
- To check spelling of larger units of text, use `M-x spell-region' or
- `M-x spell-buffer'. These commands check all words in the specified
- piece of text. For each word that is not correct, they ask you to
- specify a replacement, and then replace each occurrence.
-
- `M-x gdb' still exists in Emacs 18. `M-x dbx' exists, but is
- somewhat different (use `C-h m' to find the details). `M-x sdb' does
- not exist at all, but who wants to use SDB?
-
- In Buffer Menu mode, the commands `%' and `C-o' don't work in Emacs
- 18. The `v' command has been eliminated and merged with the `q'
- command, which now exits the buffer menu, displaying all the buffers
- that you have marked.
-
- The View commands (such as `M-x view-buffer' and `M-x view-file')
- now use recursive edits. When you exit viewing, the recursive edit
- returns to its caller.
-
- Emacs 18, like most programs, interprets command line options only
- when it is started-not later on.
-
- The variable to control whether files can set local variables is
- called `inhibit-local-variables'. A non-`nil' value means ask the user
- before obeying any local variables lists.
-
- The user option for controlling use of the `eval' local variable is
- now called `inhibit-local-eval'. A non-`nil' value means to ask the
- user before obeying any `eval' local variable.
-
- File Handling Changes
- =====================
-
- As mentioned above, you can't refer to files on other machines using
- special "magic" file names. Instead, you must use the `ftp' library
- with commands such as `M-x ftp-find-file' and `M-x ftp-write-file'.
-
- When you run `M-x revert-buffer' with no prefix argument, if the
- buffer has an auto save file more recent that the visited file,
- `revert-buffer' asks whether to revert from the auto save file instead.
-
- When `C-x s' (`save-some-buffers') offers to save each buffer, you
- have only two choices: save it, or don't save it.
-
- `M-x recover-file' turns off Auto Save mode in the current buffer.
- To turn it on again, use `M-x auto-save-mode'.
-
- The command `M-x rename-uniquely' does not exist; instead, use `M-x
- rename-buffer' and try various names until you find one that isn't in
- use. Completion can make this easier.
-
- The directory name abbreviation feature is gone in Emacs 18.
-
- Emacs 18 has no idea of file truenames, and does not try to detect
- when you visit a file via a symbolic link. You should check manually
- when you visit a file, so as to edit it in the directory where it is
- actually stored. This way you can make sure that backup files and
- change log entries go in the proper directory.
-
- `M-x compare-windows' ignores any prefix argument and always
- considers case and whitespace differences significant. As for the
- other ways of comparing files, `M-x diff' and `M-x diff-backup', they
- don't exist at all.
-
- Mail Changes
- ============
-
- `%' is now a word-component character in Mail mode. This is to be
- compatible with Text mode.
-
- The variable `mail-signature' is not meaningful; if you wish to
- insert your signature in a mail message, you must type `C-c C-w'.
-
- Mail aliases expand only when you send the message--never when you
- type them in.
-
- Rmail now gets new mail into your primary mail file from `~/mbox' as
- well as from your system inbox file. This is handy if you occasionally
- check your newest mail with the `mail' program; whatever you have
- looked at and saved with `mail' will be brought into Rmail the next
- time you run Rmail.
-
- The Rmail summary buffer is now much simpler. Only a few special
- commands are available there: `n', `p', and `j' for motion, `d' and `u'
- for deletion, and SPC and DEL for scrolling the message. To do
- anything else, you must go to the Rmail buffer. Also, changes in the
- Rmail buffer don't update the summary; to do that, you must make a new
- summary.
-
- The Rmail command `rmail-resend' (accessible via `f' with a prefix
- argument in Emacs 19) does not exist in Emacs 18. Neither does
- `rmail-retry-failure' (`M-m' in Emacs 19).
-
- The `e' command is now "expunge", just like `x'. To edit the
- current message, type `w', which works in Emacs 19 as well. If you
- type `e' meaning to edit, and it expunges instead--well, you shouldn't
- have deleted those messages if you still wanted them.
-
- The `<' and `b' commands have been removed in Emacs 18. Likewise
- `C-M-t' (`rmail-summarize-by-topic') and `M-x unrmail'. Rmail in Emacs
- 18 is so good, that we can't imagine anyone who has tried it would ever
- wish to use another mail reader.
-
- The default output file for `o' is now always the last file that you
- used with `o'. The variable `rmail-output-file-alist' has no special
- meaning.
-
- Emacs 18 Rmail does not know anything about Content Length fields in
- messages.
-
- C Mode Changes
- ==============
-
- In C mode, the keys `M-a' and `M-e' now have their usual meanings:
- motion by sentences. This is useful while editing the comments in a C
- program, but not useful for editing code. We hope this will encourage
- you to write lots of comments.
-
- The commands `M-x c-up-conditional' and `M-x c-backslash-region' have
- been removed entirely in Emacs 18.
-
- Compilation Changes
- ===================
-
- `M-x compile' now has a much simpler and faster parser for error
- messages. However, it understands fewer different formats for error
- messages, and is not as easy to customize.
-
- There is no special mode for compilation buffers. When you select
- the compilation buffer itself, it is just ordinary text.
-
- Speaking of selecting the compilation buffer, you do need to do that
- from time to time to see whether the compilation has finished, because
- Emacs 18 does not display `Compiling' in the mode line to tell you the
- compilation is still going.
-
- Shell Mode
- ==========
-
- Shell mode in Emacs 18 does nothing special for the keys TAB, `M-?',
- `C-a', `C-d'. The commands `M-x dirs' and `M-x send-invisible' are
- also gone.
-
- The history commands `M-p' and so on are not available either;
- instead, use `C-c C-y' (`copy-last-shell-input'). This copies the
- previous bunch of shell input, and inserts it into the buffer before
- point. No final newline is inserted, and the input copied is not
- resubmitted until you type RET.
-
- Use `C-c C-d' to send an "end of file" to the shell process.
-
- Dired Changes
- =============
-
- For simplicity, Dired in Emacs 18 supports just one kind of mark: the
- deletion flag, `*'. The Emacs 19 Dired commands for flagging files do
- work in Emacs 18, but all the other mark-related commands do not.
-
- The Dired subdirectory commands don't exist in Emacs 18. A Dired
- buffer can contain only one directory. In particular, this means that
- the variable `dired-listing-switches' must not contain the `R' option.
- (The `F' option is also not allowed.)
-
- The commands for using `find' with Dired have been removed for
- simplicity, also.
-
- Emacs 18 Dired provides the following commands for manipulating files
- immediately, and no others. All of these commands apply to the file
- listed on the current line.
-
- `c'
- Copies the file described on the current line. You must supply a
- file name to copy to, using the minibuffer.
-
- `f'
- Visits the file described on the current line. It is just like
- typing `C-x C-f' and supplying that file name. If the file on
- this line is a subdirectory, `f' actually causes Dired to be
- invoked on that subdirectory.
-
- `G'
- Change the group of the file described on the current line.
-
- `M'
- Change the file mode of the file described on the current line.
-
- `o'
- Like `f', but uses another window to display the file's buffer.
- The Dired buffer remains visible in the first window. This is
- like using `C-x 4 C-f' to visit the file.
-
- `O'
- Change the owner of the file described on the current line. (On
- most systems, you must be a superuser to do this.)
-
- `r'
- Renames the file described on the current line. You must supply a
- file name to rename to, using the minibuffer.
-
- `v'
- Views the file described on this line using `M-x view-file'.
- Viewing a file is like visiting it, but is slanted toward moving
- around in the file conveniently and does not allow changing the
- file.
-
-